
#ifndef __XML_READER_H
#define __XML_READER_H

#include <libxml/xmlreader.h>

/** Class to wrap XML reading tasks. */
class XMLReader
{
   public:
      XMLReader();
      ~XMLReader();
      xmlDocPtr xmlRead(const char *buffer, int size, int *success, int *vsuccess);
      xmlDocPtr xmlRead(const char *xmlfilename, int *success);
      xmlDocPtr xmlRead(const char *xmlfilename, int *success, int *vsuccess);
   private:
      /** A pointer to the parser context. This object should not be shared between threads. */
      xmlParserCtxtPtr ctxt;
};

#endif
